//
//  MHMomentViewModel.h
// MiaoCircle
//
//Created by acgera on 2018/4/9.
//  Copyright © 2018年 acgera. All rights reserved.
//

#import "MHTableViewModel.h"
#import "MHMomentItemViewModel.h"
#import "MHMomentAttitudesItemViewModel.h"
#import "MHMomentCommentItemViewModel.h"
#import "MHMomentProfileViewModel.h"
#import "MHMomentReplyItemViewModel.h"
#import "MHChatViewModel.h"
#import "MHMessageNotification.h"
@interface MHMomentViewModel : MHTableViewModel
/// 个人信息头部视图模型
@property (nonatomic, readonly, strong) MHMomentProfileViewModel *profileViewModel;

@property(nonatomic, assign) int userId;

@property(nonatomic, assign) BOOL isDetail;
@property(nonatomic, assign) BOOL isFootPrint;

@property(nonatomic, assign) BOOL isRecent;

@property(nonatomic, assign) BOOL isAnserList;

@property(nonatomic, assign) BOOL isAskList;

@property(nonatomic, assign) BOOL isRealateToMe;

@property(nonatomic, assign) BOOL isTheme;

@property(nonatomic, strong) MHMessageNotification *message;

@property(nonatomic, strong) IMAConversation *conversation;
@property(nonatomic, strong) IMAUser *imUser;
@property(nonatomic, assign) int  momentId;

/// 刷新某一个section的 事件回调
@property (nonatomic, readonly, strong) RACSubject *reloadSectionSubject;

@property (nonatomic, strong) RACSubject *reloadDataSubject;
/// 评论回调
@property (nonatomic, readonly, strong) RACSubject *commentSubject;
/// 电话号码回调
@property (nonatomic, readonly, strong) RACSubject *phoneSubject;

@property (nonatomic,  strong) RACCommand *collectionCommand;
/// 发送评论内容
@property (nonatomic, readonly, strong) RACCommand *commentCommand;
/// 删除当前用户的评论
@property (nonatomic, readonly, strong) RACCommand *delCommentCommand;
/// 删除当前用户的发的说说
@property (nonatomic, readonly, strong) RACCommand *delMomentCommand;

@property (nonatomic, readwrite, strong) RACCommand *expandOperationCmd;

@property(nonatomic, strong) RACCommand *pushToChatView;

///置顶操作
@property (nonatomic, strong) RACCommand *topMomentCommand;

//取消置顶
@property (nonatomic, strong) RACCommand *cancelTopMomentCommand;

//设置精华操作
@property (nonatomic, strong) RACCommand *setEssenceMomentCommand;

//取消精华
@property (nonatomic, strong) RACCommand *cancelEssenceMomentCommand;

//修改操作
@property (nonatomic, strong) RACCommand *modifyMomentCommand;


/**
 举报操作
 */
@property (nonatomic, strong) RACCommand *repoCommand;



/// 富文本文字上的事件处理
@property (nonatomic, readonly, strong) RACCommand *attributedTapCommand;

/// 分享view上的点击事件处理
@property (nonatomic, readonly, strong) RACCommand *shareTapCommand;

@property(nonatomic, strong) NSArray *comments;

@property(nonatomic, strong) NSArray *moments;

- (NSArray *)dataSourceWithMoment:(NSArray *)moments;
@end
